<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

Class backend extends CI_Controller {

    public function __construct() {
        parent::__construct();
        $this->load->helper(array('simple_html_dom', 'form', 'url'));
        $this->load->model(array('entry_model', 'category_model'));
    }

    public function post() {
        $data['category'] = $this->category_model->getList();
        if ($this->input->post()) {
            $context_tmp = array(
                'http' => array(
                    'proxy' => '10.61.11.38:3128', // This needs to be the server and the port of the NTLM Authentication Proxy Server. 
                    'request_fulluri' => true,
                ),
            );

            $context = stream_context_create($context_tmp);
            $url = $this->input->post('url');
            $html = file_get_html($url, false, $context);
            $link = $html->getElementById("#Knot")->src;
            //http://www.animatedknots.com/photos/albright/albrightR1.jpg
            //../photos/albright/albrightR15.jpg
            if ($link) {
                $fullLink = 'http://www.animatedknots.com/' . str_replace('../', '', $link);

                $tmp_exp = explode('/', $link);
                $countImg = preg_replace('/\D/', '', end($tmp_exp));
                if ($countImg) {

                    $input['title'] = $this->input->post('title');
                    $input['id_category'] = $this->input->post('id_category');
                    $input['created'] = date('Y-m-d H:i');
                    $input['type'] = 'knot';
                    $input['total'] = $countImg;

                    $nameLink = $this->_vn2latin($input['title'], true);
                    $input['featured'] = $nameLink;
                    $id = $this->entry_model->insert($input);
                    $structure = "uploads/knots/$id/";
                    if (mkdir($structure, 0777, true)) {
                        $tmpLink = str_replace($countImg . '.', 'dinh~.', $fullLink);
                        for ($i = 1; $i <= $countImg; $i++) {
                            //save imgae
                            $opts = array('http' => array('proxy' => 'tcp://10.61.11.38:3128', 'request_fulluri' => true));
                            $context = stream_context_create($opts);
                            $testLink = str_replace('dinh~.', $i . '.', $tmpLink);
                            $data = file_get_contents($testLink, false, $context);
                            $fp = fopen($structure . $i . '-' . $nameLink . '.jpg', 'w');
                            fwrite($fp, $data);
                            fclose($fp);
                        }
                    }
                }
            }
        }
        $this->load->view('post', $data);
    }

    public function edit_post($id = null) {
        $data['content'] = $this->entry_model->get_content($id);
        $data['category'] = $this->category_model->getList();
        //print_r($data['content']);
        if (!$data['content']) {
            show_404();
        }
        if ($this->input->post()) {
            $input['title'] = $this->input->post('title');
            $input['id_category'] = $this->input->post('id_category');
            $input['featured'] = $this->_vn2latin($input['title'], true);
            $this->entry_model->update($input, $id);
            for ($i = 1; $i <= $data['content']['total']; $i++) {
                rename('uploads/knots/' . $data['content']['id'] . '/' . $i . '-' . $data['content']['featured'] . '.jpg', 'uploads/knots/' . $data['content']['id'] . '/' . $i . '-' . $input['featured'] . '.jpg');
            }
        }
        $this->load->view('edit_post', $data);
    }

    private function _vn2latin($cs, $tolower = false) {
        /* Mảng chứa tất cả ký tự có dấu trong Tiếng Việt */

        $marTViet = array("à", "á", "ạ", "ả", "ã", "â", "ầ", "ấ", "ậ", "ẩ", "ẫ", "ă",
            "ằ", "ắ", "ặ", "ẳ", "ẵ", "è", "é", "ẹ", "ẻ", "ẽ", "ê", "ề",
            "ế", "ệ", "ể", "ễ",
            "ì", "í", "ị", "ỉ", "ĩ",
            "ò", "ó", "ọ", "ỏ", "õ", "ô", "ồ", "ố", "ộ", "ổ", "ỗ", "ơ",
            "ờ", "ớ", "ợ", "ở", "ỡ",
            "ù", "ú", "ụ", "ủ", "ũ", "ư", "ừ", "ứ", "ự", "ử", "ữ",
            "ỳ", "ý", "ỵ", "ỷ", "ỹ",
            "đ",
            "À", "Á", "Ạ", "Ả", "Ã", "Â", "Ầ", "Ấ", "Ậ", "Ẩ", "Ẫ", "Ă",
            "Ằ", "Ắ", "Ặ", "Ẳ", "Ẵ",
            "È", "É", "Ẹ", "Ẻ", "Ẽ", "Ê", "Ề", "Ế", "Ệ", "Ể", "Ễ",
            "Ì", "Í", "Ị", "Ỉ", "Ĩ",
            "Ò", "Ó", "Ọ", "Ỏ", "Õ", "Ô", "Ồ", "Ố", "Ộ", "Ổ", "Ỗ", "Ơ", "Ờ", "Ớ", "Ợ", "Ở", "Ỡ",
            "Ù", "Ú", "Ụ", "Ủ", "Ũ", "Ư", "Ừ", "Ứ", "Ự", "Ử", "Ữ",
            "Ỳ", "Ý", "Ỵ", "Ỷ", "Ỹ",
            "Đ", " ");

        /* Mảng chứa tất cả ký tự không dấu tương ứng với mảng $marTViet bên trên */
        $marKoDau = array("a", "a", "a", "a", "a", "a", "a", "a", "a", "a", "a",
            "a", "a", "a", "a", "a", "a",
            "e", "e", "e", "e", "e", "e", "e", "e", "e", "e", "e",
            "i", "i", "i", "i", "i",
            "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o", "o",
            "o", "o", "o", "o", "o",
            "u", "u", "u", "u", "u", "u", "u", "u", "u", "u", "u",
            "y", "y", "y", "y", "y",
            "d",
            "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A", "A",
            "A", "A", "A", "A", "A",
            "E", "E", "E", "E", "E", "E", "E", "E", "E", "E", "E",
            "I", "I", "I", "I", "I",
            "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O", "O",
            "U", "U", "U", "U", "U", "U", "U", "U", "U", "U", "U",
            "Y", "Y", "Y", "Y", "Y",
            "D", "-");
        if ($tolower) {
            return preg_replace('/[^A-Za-z0-9\-]/', '', strtolower(str_replace($marTViet, $marKoDau, $cs)));
        }

        return preg_replace('/[^A-Za-z0-9\-]/', '', str_replace($marTViet, $marKoDau, $cs));
    }

}

?>
